Roles of a Partial Evaluator for the Re ective Language Black
نویسندگان
چکیده
A re ective language allows us to access its interpreter to dynamically modify or extend the language semantics from within the same language. In the previous paper, we implemented a re ective language called Black, and showed that a directly executable interpreter can be implemented by duplicating and partially evaluating the metalevel interpreters without losing changeability. In this paper, we will concentrate on the partial evaluator and show that it can be used not only to construct the default re ective interpreter but also as a compiler of re ective languages. Since the language semantics may change in re ective languages, we cannot use a speci c compiler; instead, we use the partial evaluator, which can take the semantics of the language into account. ANY OTHER IDENTIFYING INFORMATION OF THIS REPORT DISTRIBUTION STATEMENT First issue 35 copies. SUPPLEMENTARY NOTES REPORT DATE May 25, 1994 TOTAL NO. OF PAGES 10 WRITTEN LANGUAGE English
منابع مشابه
Roles of a Partial Evaluator for the Re ective Language
A re ective language allows us to access its interpreter to dynamically modify or extend the language semantics from within the same language. In the previous paper, we implemented a re ective language called Black, and showed that a directly executable interpreter can be implemented by duplicating and partially evaluating the metalevel interpreters without losing changeability. In this paper, ...
متن کاملPartial Evaluator as a Compiler for Re ective Languages
This paper presents an online partial evaluator with a mechanism to handle I/O-type side-e ects using preactions, and reports our experiment of using the partial evaluator as a compiler for the re ective language Black we are designing. Black is a Scheme-based re ective language, which allows user programs to access and modify its metalevel interpreter (or the language semantics) from within th...
متن کاملUsing Partial Evaluation in Re ective Concurrent Object - Oriented Languages
Parallel and distributed programs often have hardware/problem speci c optimizations for improving quality of the program such as e ciency and robustness. Those optimizations, unfortunately, degrade portability and re-usability as they are intertwined with the original algorithm description. Re ective languages, which provide the application programmer extensible and abstract implementation of t...
متن کاملDuplication and Partial Evaluation | for a Better Understanding of Re Blockinective Languages |
This paper presents a general implementation framework for re ective languages. It allows us to systematically build re ective languages which have the following favorable properties: (1) user programs are allowed to access and change (parts of) metalevel interpreters, (2) re ective facilities are available at every level, (hence there exists conceptually an in nite tower of interpreters), and ...
متن کاملCompiling Away the Meta-Level in Object-Oriented Concurrent Re ective Languages Using Partial Evaluation
Meta-level programmability is bene cial for parallel/distributed object-oriented computing to improve performance, etc. The major problem, however, is interpretation overhead due to meta-circular interpretation. To solve this problem, we propose a compilation framework for object-oriented concurrent re ective languages using partial evaluation. Since traditional partial evaluators do not allow ...
متن کامل